package cloud.maque.auth.conf;

import cn.hutool.core.util.URLUtil;
import lombok.Data;

@Data
public class GithubProperties {

    /**
     * 客户端ID
     */
    String clientId;

    /**
     * 客户端秘钥
     */
    String clientSecret;

    /**
     * 跳转的地址
     * 完整的地址 https://github.com/login/oauth/access_token?client_id={client_id}&redirect_uri={redirect_uri}&response_type=code&state=1
     */
    String authorizationUri = "https://github.com/login/oauth/authorize";

    /**
     * 回调地址,本地址必须在Gitee网站上配置
     */
    String redirectUri;

    /**
     * 当对应Gitee用户不存时，是否创建用户，默认为false。为false，应该跳到用户绑定页面。
     */
    Boolean autoCreateUser = false;

    public String GetFullUrl(GithubProperties properties, String Coupled) {

        String uri = properties.getRedirectUri();
        String callUrl = URLUtil.encode(uri);
        String url = properties.getAuthorizationUri() + "?client_id=" + properties.getClientId() + "&redirect_uri=" + callUrl + "&scope=user&state=" + Coupled;
        return url;
    }
}
